home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / gfx / misc / Splitmpeg.lha / Splitmpeg / src / global.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-07-22  |  3.2 KB  |  94 lines

  1. /*
  2.  * Copyright (c) 1994 Michael Simmons.
  3.  * All rights reserved.
  4.  *
  5.  * Permission to use, copy, modify, and distribute this software and its
  6.  * documentation for any purpose, without fee, and without written agreement is
  7.  * hereby granted, provided that the above copyright notice and the following
  8.  * two paragraphs appear in all copies of this software.
  9.  *
  10.  * IN NO EVENT SHALL MICHAEL SIMMONS BE LIABLE TO ANY PARTY FOR
  11.  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  12.  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF MICHAEL SIMMONS
  13.  * HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14.  *
  15.  * THE MICHAEL SIMMONS SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  16.  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  17.  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  18.  * ON AN "AS IS" BASIS, AND MICHAEL SIMMONS HAS NO OBLIGATION TO
  19.  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  20.  *
  21.  * I can be contacted via
  22.  * Email: michael@ecel.uwa.edu.au
  23.  * Post: P.O. Box 506, NEDLANDS WA 6009, AUSTRALIA
  24.  *
  25.  * Amigaversion by Tobias Seiler in 1997
  26.  * Email: tabs@blader.com
  27.  */
  28.  
  29. #include "main.h"
  30.  
  31. jmp_buf env;
  32. int quiet_flag;
  33. int verbose_flag;
  34. int system_header_found;
  35. int pack_cnt;
  36. int packet_cnt;
  37. int system_header_cnt;
  38.  
  39. FILE *BitStream;
  40. int EOF_flag;
  41. unsigned int curBits;
  42. int bitOffset;
  43. int bufLength;
  44. int max_buf_length;
  45. unsigned int *bitBuffer;
  46. unsigned int *buf_start;
  47.  
  48. StreamInfo      streamInfo[MAX_NUM_STREAMS];
  49.  
  50. unsigned int nBitMask[] = {
  51.   0x00000000, 0x80000000, 0xc0000000, 0xe0000000,
  52.   0xf0000000, 0xf8000000, 0xfc000000, 0xfe000000,
  53.   0xff000000, 0xff800000, 0xffc00000, 0xffe00000,
  54.   0xfff00000, 0xfff80000, 0xfffc0000, 0xfffe0000,
  55.   0xffff0000, 0xffff8000, 0xffffc000, 0xffffe000,
  56.   0xfffff000, 0xfffff800, 0xfffffc00, 0xfffffe00,
  57.   0xffffff00, 0xffffff80, 0xffffffc0, 0xffffffe0,
  58.   0xfffffff0, 0xfffffff8, 0xfffffffc, 0xfffffffe}
  59. ;
  60.  
  61. unsigned int bitMask[] = {
  62.   0xffffffff, 0x7fffffff, 0x3fffffff, 0x1fffffff,
  63.   0x0fffffff, 0x07ffffff, 0x03ffffff, 0x01ffffff,
  64.   0x00ffffff, 0x007fffff, 0x003fffff, 0x001fffff,
  65.   0x000fffff, 0x0007ffff, 0x0003ffff, 0x0001ffff,
  66.   0x0000ffff, 0x00007fff, 0x00003fff, 0x00001fff,
  67.   0x00000fff, 0x000007ff, 0x000003ff, 0x000001ff,
  68.   0x000000ff, 0x0000007f, 0x0000003f, 0x0000001f,
  69.   0x0000000f, 0x00000007, 0x00000003, 0x00000001}
  70. ;
  71.  
  72. unsigned int rBitMask[] = {
  73.   0xffffffff, 0xfffffffe, 0xfffffffc, 0xfffffff8,
  74.   0xfffffff0, 0xffffffe0, 0xffffffc0, 0xffffff80,
  75.   0xffffff00, 0xfffffe00, 0xfffffc00, 0xfffff800,
  76.   0xfffff000, 0xffffe000, 0xffffc000, 0xffff8000,
  77.   0xffff0000, 0xfffe0000, 0xfffc0000, 0xfff80000,
  78.   0xfff00000, 0xffe00000, 0xffc00000, 0xff800000,
  79.   0xff000000, 0xfe000000, 0xfc000000, 0xf8000000,
  80.   0xf0000000, 0xe0000000, 0xc0000000, 0x80000000}
  81. ;
  82.  
  83. unsigned int bitTest[] = {
  84.   0x80000000, 0x40000000, 0x20000000, 0x10000000,
  85.   0x08000000, 0x04000000, 0x02000000, 0x01000000,
  86.   0x00800000, 0x00400000, 0x00200000, 0x00100000,
  87.   0x00080000, 0x00040000, 0x00020000, 0x00010000,
  88.   0x00008000, 0x00004000, 0x00002000, 0x00001000,
  89.   0x00000800, 0x00000400, 0x00000200, 0x00000100,
  90.   0x00000080, 0x00000040, 0x00000020, 0x00000010,
  91.   0x00000008, 0x00000004, 0x00000002, 0x00000001}
  92. ;
  93.  
  94.